home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (DO) / Peeker Nr. 15 (1986)(Verlag, Dr. Alfred Huethig)(DE).zip / Peeker Nr. 15 (1986)(Verlag, Dr. Alfred Huethig)(DE).do / MESSWERT.bas < prev    next >
BASIC Source File  |  1996-12-24  |  22KB  |  468 lines

  1. 1  GOTO 1000
  2. 2 : REM '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  3. 3  RETURN 
  4. 4  REM ''''''''''''''''''''''''''
  5. 1000  PRINT  CHR$(4)"MAXFILES1"
  6. 1010  LOMEM: 24580: POKE 1011,0
  7. 1020  DATA 65,40,44,74,41
  8. 1030  DATA (,),+,-,*,/,^,=,EXP,LOG,SQR,COS,SIN,TAN,ATN,SGN,ABS,INT,RND
  9. 1040  DATA 40,41,200,201,202,203,204,208,221,220,218,222,223,224,225,210,212,211,219
  10. 1050  ONERR  GOTO 5600
  11. 1060  GOSUB 5580
  12. 1070  IF W <4  THEN W = 4
  13. 1080  IF W >48  THEN W = 48
  14. 1090 WW =  INT( FRE(0)/W/7): IF WW >60  THEN WW = 60
  15. 1100  DIM A(WW,W),Z(WW),Z0(W +4),Z1(W +4),B$(WW)
  16. 1110 KN$ = "KOLONNEN-NR. ":OD$ = "ORDINATE: " +KN$:AB$ = "ABSZISSE: " +KN$:TD$ = "TASTE DRUECKEN ":ZU$ = "1) ZURUECK"
  17. 1120 P = 4 * ATN(1):UP = 360/P/2:E =  EXP(1):K = 1.380662E -23:R = 8.31441:NL = R/K:EL = 1.6021892E -19:H = 6.626176E -34
  18. 1130 G = 6.672E -11:E0 = 8.85418782E -12:U0 = 4E -7 *P:U = 1.6605655E -27:F = 9.648456E4
  19. 1140 R$ =  CHR$(13):BL$ =  CHR$(7):D$ =  CHR$(4)
  20. 1150  ONERR  GOTO 5090
  21. 1160 VX = 2063
  22. 1170 DT =  PEEK(899): IF   NOT DT  THEN  HOME : VTAB 10: PRINT "BITTE DATUM EINGEBEN: 00.00.0000";: HTAB 23: INPUT "";DT$: FOR I = 1 TO  LEN(DT$): POKE 899 +I, ASC( MID$ (DT$,I,1)): NEXT : IF  LEN(DT$) < >10  THEN 1170
  23. 1180  POKE 899,1:DT$ = "": FOR I = 900 TO 909:DT$ = DT$ + CHR$( PEEK(I)): NEXT 
  24. 1190  IF RE  THEN  RETURN 
  25. 1200  GOTO 5260
  26. 1210  GET K$: IF K$ = "P"  THEN  POKE 32,0: VTAB 1: HTAB 29: PRINT DT$: GOSUB 5240
  27. 1220  RETURN : REM <CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J>
  28. 1230  HOME : INVERSE : PRINT "EINGABE VON KOLONNEN                    ": NORMAL : PRINT : PRINT KN$;: INPUT "";MM: PRINT 
  29. 1240  GOSUB 1270: POKE 34,7: HOME 
  30. 1250  FOR J = 1 TO W: PRINT "   "J")  ";: INPUT "";A$:A(MM,J) =  VAL(A$): NEXT 
  31. 1260  GOTO 5260
  32. 1270  CALL  -958: INPUT "KOLONNENNAME ";B$(MM): PRINT 
  33. 1280  PRINT "KORREKT? (J/N) ";: GOSUB 1210
  34. 1290  IF K$ = "N"  THEN 1320
  35. 1300  IF  LEN(B$(MM)) <15  THEN  RETURN 
  36. 1310  HTAB 1: PRINT "NAME ZU LANG ( < 15 ZEICHEN )";: GOSUB 1210
  37. 1320  VTAB  PEEK(37) -1: HTAB HT: GOTO 1270
  38. 1330  REM <CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J>
  39. 1340  HOME : INVERSE : PRINT "NAMENLISTE                              ": NORMAL : PRINT : PRINT : PRINT 
  40. 1350 J = 3
  41. 1360  FOR I = 1 TO WW:J = J +1
  42. 1370  VTAB J: PRINT I CHR$(95) LEFT$(B$(I),10): IF I = 20  THEN  POKE 32,14:J = 3
  43. 1380  IF I = 40  THEN  POKE 32,28:J = 3
  44. 1390  NEXT 
  45. 1400  GOSUB 1210
  46. 1410  GOTO 5260
  47. 1420  REM <CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J>
  48. 1430  HOME : INVERSE : PRINT "KOLONNEN-LISTING                        ": POKE 34,3: PRINT : NORMAL : PRINT "DRUCKERAUSGABE? (J/N) ";
  49. 1440  GOSUB 1210
  50. 1450  IF K$ = "J"  THEN 4400
  51. 1460  HOME : INPUT "WIEVIELE KOLONNEN? ";WK: PRINT : IF WK >3  THEN WK = 3
  52. 1470  FOR I = 1 TO WK: PRINT I". "KN$;: INPUT "";Z(I): NEXT 
  53. 1480  HOME : FOR I = 1 TO WK: PRINT  LEFT$(B$(Z(I)),12) SPC( 14 - LEN( LEFT$(B$(Z(I)),12))): NEXT : PRINT : PRINT : POKE 34,5
  54. 1490  FOR I = 1 TO W: FOR J = 1 TO WK
  55. 1500 VO$ =  STR$(A(Z(J),I)):LV =  LEN(VO$): IF LV >14  THEN LV = 14
  56. 1510  PRINT A(Z(J),I) SPC( 14 -LV): IF J = 3  THEN  PRINT  CHR$(8) CHR$(8) CHR$(8)
  57. 1520  NEXT 
  58. 1530  IF W <9  THEN  PRINT 
  59. 1540  IF WK <3  THEN  PRINT 
  60. 1550  IF (I >9  AND W <9)  OR (I >17  AND W >9)  THEN  GOSUB 1210: IF K$ < >R$  THEN I = W
  61. 1560  NEXT 
  62. 1570  GOSUB 1210: GOTO 5260
  63. 1580  HOME 
  64. 1590  PRINT KN$MM SPC( 5)B$(MM):D = 5
  65. 1600  FOR J = 1 TO W:D = D +1: VTAB D: PRINT A(MM,J)
  66. 1610  IF J = 16  THEN  POKE 32,13:D = 5
  67. 1620  IF J = 32  THEN  POKE 32,27:D = 5
  68. 1630  NEXT : POKE 32,0: VTAB 23
  69. 1640  RETURN 
  70. 1650  REM <CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J>
  71. 1660  HOME : INVERSE : PRINT "KOLONNENOPERATIONEN                     ": NORMAL : POKE 34,3
  72. 1670  HOME : PRINT ZU$: PRINT : PRINT "2) ANLEITUNG": PRINT : PRINT "3) KONSTANTEN": PRINT : PRINT "4) STEIGUNG": PRINT : PRINT "5) INVERTIEREN": PRINT : PRINT "6) ORDNEN": PRINT : PRINT "7) ANDERE OPERATIONEN": PRINT 
  73. 1680  GOSUB 1210: ON  VAL(K$) GOTO 5260,5460,5520,1710,2070,1750,2120
  74. 1690  VTAB 18: GOTO 1680
  75. 1700  REM <CTRL-J><CTRL-J>
  76. 1710  HOME : PRINT AB$;: INPUT "";M1: PRINT OD$;: INPUT "";M2: PRINT : PRINT "NEUE KOLONNE:": PRINT : PRINT KN$;: INPUT "";MM: PRINT : GOSUB 1270
  77. 1720  FOR I = 1 TO W -1:A(MM,I) = (A(M2,I +1) -A(M2,I))/(A(M1,I +1) -A(M1,I)): NEXT :A(MM,W) = A(MM,W -1)
  78. 1730  GOSUB 1580: GOSUB 1210: GOTO 1670
  79. 1740  REM <CTRL-J><CTRL-J>
  80. 1750  HOME : PRINT "ORDNEN": PRINT : PRINT 
  81. 1760  PRINT KN$;: INPUT "";MM
  82. 1770  HOME : VTAB 12: HTAB 13: PRINT "ICH SORTIERE!"
  83. 1780 A(WW,1) = 1:A(0,1) = W:HV = 1
  84. 1790 A1 = A(WW,HV):A2 = A(0,HV):A3 = A(MM,A2)
  85. 1800  IF A2 -A1 <5  THEN 1910
  86. 1810 M =  INT((A1 +A2)/2)
  87. 1820  IF A3 > = A(MM,A1)  THEN 1870
  88. 1830  IF A3 > = A(MM,M)  THEN 1910
  89. 1840  IF A(MM,A1) <A(MM,M)  THEN 1860
  90. 1850 A3 = A(MM,M):A(MM,M) = A(MM,A2):A(MM,A2) = A3: GOTO 1910
  91. 1860 A3 = A(MM,A1):A(MM,A1) = A(MM,A2):A(MM,A2) = A3: GOTO 1910
  92. 1870  IF A3 < = A(MM,M)  THEN 1910
  93. 1880  IF A(MM,A1) >A(MM,M)  THEN 1900
  94. 1890 A3 = A(MM,M):A(MM,M) = A(MM,A2):A(MM,A2) = A3: GOTO 1910
  95. 1900 A3 = A(MM,A1):A(MM,A1) = A(MM,A2):A(MM,A2) = A3: GOTO 1910
  96. 1910 A1 = A1 -1
  97. 1920 A1 = A1 +1: IF A2 < = A1  THEN 1970
  98. 1930  IF A(MM,A1) <A3  THEN 1920
  99. 1940 A2 = A2 -1: IF A2 <A1  THEN 1970
  100. 1950  IF A3 <A(MM,A2)  THEN 1940
  101. 1960 YH = A(MM,A2):A(MM,A2) = A(MM,A1):A(MM,A1) = YH: GOTO 1920
  102. 1970 A2 = A(0,HV):YH = A(MM,A1):A(MM,A1) = A(MM,A2):A(MM,A2) = YH
  103. 1980  IF (A1 -A(WW,HV)) <(A(0,HV) -A1)  THEN 2000
  104. 1990 A(WW,HV +1) = A(WW,HV):A(0,HV +1) = A1 -1:A(WW,HV) = A1 +1: GOTO 2010
  105. 2000 A(WW,HV +1) = A1 +1:A(0,HV +1) = A(0,HV):A(0,HV) = A1 -1
  106. 2010 HV = HV +1
  107. 2020  IF A(WW,HV) <A(0,HV)  THEN 1790
  108. 2030 HV = HV -1
  109. 2040  IF HV >0  THEN 2020
  110. 2050  GOSUB 1580: GOSUB 1210: GOTO 1670
  111. 2060  REM <CTRL-J><CTRL-J>
  112. 2070  HOME : PRINT "INVERTIEREN": PRINT : PRINT 
  113. 2080  PRINT KN$;: INPUT "";MM
  114. 2090  FOR I = 1 TO  INT(W/2):HV = A(MM,I):A(MM,I) = A(MM,W +1 -I):A(MM,W +1 -I) = HV: NEXT 
  115. 2100  GOSUB 1580: GOSUB 1210: GOTO 1670
  116. 2110  REM <CTRL-J><CTRL-J>
  117. 2120  HOME : VTAB 9: HTAB 16: INVERSE : PRINT "<---": VTAB 5: NORMAL 
  118. 2130 VY = VX: HTAB 16: PRINT BF$;: VTAB 5: HTAB 1: INPUT "BEFEHLSFOLGE:  ";BF$
  119. 2140  IF  LEN(BF$) >160  THEN  HOME : INVERSE : PRINT "BEFEHLSFOLGE ZU LANG": NORMAL : PRINT BE$BE$: FOR I = 1 TO 2000: NEXT : GOTO 2120
  120. 2150  IF BF$ = "" GOTO 5260
  121. 2160 BF$ = BF$ +" "
  122. 2170 LB =  LEN(BF$):N = 1
  123. 2180  FOR L = 1 TO LB
  124. 2190  IF  MID$ (BF$,L,1) = " "  THEN  GOSUB 2240
  125. 2200  NEXT : GOSUB 2210: GOTO 2520
  126. 2210 N0 = 58: GOSUB 2360:N0 = 178: GOSUB 2360
  127. 2220  RETURN 
  128. 2230  REM <CTRL-J><CTRL-J>DEKODIERUNG<CTRL-J>
  129. 2240 BT$ =  MID$ (BF$,N,L -N):N = L +1
  130. 2250  IF  ASC(BT$) = 60  THEN  GOSUB 2380: RETURN 
  131. 2260  IF  ASC(BT$) = 35  THEN  GOSUB 2490: RETURN 
  132. 2270  IF  ASC(BT$) = 32  THEN  RETURN 
  133. 2280  FOR K0 = 1 TO 5: READ A: NEXT 
  134. 2290  FOR K0 = 1 TO 19: READ A$
  135. 2300  IF A$ < >BT$  THEN  NEXT : GOTO 2570
  136. 2310 K1 = K0:K0 = 20
  137. 2320  NEXT : RESTORE 
  138. 2330  FOR K0 = 1 TO 24: READ A$: NEXT 
  139. 2340  FOR K0 = 1 TO K1: READ N0: NEXT : RESTORE 
  140. 2350  REM <CTRL-J><CTRL-J>POKE<CTRL-J>
  141. 2360  POKE VY,N0:VY = VY +1: RETURN 
  142. 2370  REM <CTRL-J><CTRL-J>KOLONNENNUMMER<CTRL-J>
  143. 2380 BT$ =  MID$ (BT$,2, LEN(BT$) -2)
  144. 2390  IF  LEN(BT$) >2  THEN 2570
  145. 2400  READ N0: GOSUB 2360
  146. 2410  READ N0: GOSUB 2360
  147. 2420  FOR K0 = 1 TO  LEN(BT$)
  148. 2430 N0 =  ASC( MID$ (BT$,K0,1))
  149. 2440  IF N0 <48  OR N0 >57  THEN 2570
  150. 2450  IF L <6  THEN MM =  VAL(BT$)
  151. 2460  GOSUB 2360: NEXT 
  152. 2470  FOR K0 = 3 TO 5: READ N0: GOSUB 2360: NEXT : RESTORE : RETURN 
  153. 2480  REM <CTRL-J><CTRL-J>ZAHLEN<CTRL-J>
  154. 2490 VA = 2308: FOR Q = 2 TO  LEN(BT$):Q1 =  ASC( MID$ (BT$,Q,1)): POKE VA -2 +Q,Q1: NEXT 
  155. 2500  FOR K0 = 0 TO  LEN(BT$) -2:N0 =  PEEK(VA +K0): GOSUB 2360: NEXT : RETURN 
  156. 2510  REM <CTRL-J><CTRL-J>AUSFUEHRUNG<CTRL-J>
  157. 2520  HOME : PRINT "IST DIE EINGABE KORREKT? (J/N)": PRINT 
  158. 2530  PRINT BF$: VTAB 4: HTAB 32
  159. 2540  GOSUB 1210: IF K$ = "N"  THEN 2120
  160. 2550  FOR J = 1 TO W: GOSUB 2: NEXT 
  161. 2560 VY = VX: GOSUB 2210: GOSUB 1580: GOSUB 1270: TEXT : GOTO 1660
  162. 2570  HOME : FLASH : PRINT "           FALSCHE EINGABE              ": PRINT BL$BL$BL$
  163. 2580  NORMAL : PRINT BF$: RESTORE : FOR I = 1 TO 2000: NEXT 
  164. 2590  GOTO 5460
  165. 2600  REM <CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J>
  166. 2610  HOME : INVERSE : PRINT "GRAFISCHE AUFTRAGUNG                    ": NORMAL : PRINT : PRINT : PRINT AB$;: INPUT "";M1
  167. 2620  PRINT OD$;: INPUT "";M2
  168. 2630  PRINT : PRINT : PRINT "BILDSCHIRM GANZE BREITE ..... 1": PRINT "BILDSCHIRM PROPORTIONAL ..... 2 ";: GOSUB 1210
  169. 2640  IF K$ < >"2"  THEN BB = 267
  170. 2650  IF K$ = "2"  THEN BB = 178
  171. 2660  POKE 34,7: HOME : VTAB 24: PRINT "MIT 'ESC' ZW. GRAFIK U. TEXT UMSCHALTEN": VTAB 21: PRINT "MIT 'D' GRAFIK AUSDRUCKEN": POKE 35,20
  172. 2670  GOSUB 1210
  173. 2680 MM = M1: GOSUB 3160
  174. 2690 X0 = XN:X1 = XX
  175. 2700 MM = M2: GOSUB 3160
  176. 2710 Y0 = XN:Y1 = XX
  177. 2720  VTAB 8: PRINT "X0 = "X0 TAB( 20)"Y0 = "Y0: PRINT "X1 = "X1 TAB( 20)"Y1 = "Y1: POKE 34,11
  178. 2730  HOME :F0 = 1: ROT= 0: SCALE= 1
  179. 2740  HGR2 : HCOLOR= 3
  180. 2750  HPLOT 10,0 TO 10,182
  181. 2760  HPLOT 9,181 TO 279,181
  182. 2770  DRAW 57 AT 0,10: DRAW 56 AT 268,191
  183. 2780  DRAW 62 AT 7,5: ROT= 16: DRAW 62 AT 274,178: ROT= 0
  184. 2790  IF  SGN(X1) + SGN(X0) = 0  THEN NU = 11 -X0/(X1 -X0) *BB: FOR I = 10 TO 172  STEP 18: HPLOT NU,I TO NU,I +9: NEXT : DRAW 16 AT (NU -4),191
  185. 2800  IF  SGN(Y1) + SGN(Y0) = 0  THEN NU = 180 +Y0/(Y1 -Y0) *179: FOR I = 10 TO 269  STEP 18: HPLOT I,NU TO I +9,NU: NEXT : DRAW 16 AT 0,NU +4
  186. 2810 DX = X1 -X0:DY = Y1 -Y0
  187. 2820 U = (A(M1,1) -X0)/DX:V = (A(M2,1) -Y0)/DY:V =  -V *179 +180:U = U *BB +11
  188. 2830  FOR I = 2 TO W
  189. 2840 X = (A(M1,I) -X0)/DX:Y = (A(M2,I) -Y0)/DY
  190. 2850 Y =  -Y *179 +180:X = X *BB +11
  191. 2860  HPLOT U,V TO X,Y:U = X:V = Y
  192. 2870  HPLOT U,182: HPLOT 9,V
  193. 2880  NEXT 
  194. 2890  GOSUB 1210
  195. 2900  IF K$ =  CHR$(27)  THEN F0 =   NOT F0: POKE  -16303 -F0,0: POKE  -16300 +F0,0: GOTO 2890
  196. 2910  IF K$ = "D"  THEN  POKE  -16303,0: POKE  -16300,0: GOSUB 2940
  197. 2920  IF K$ = R$  THEN 5260
  198. 2930  GOTO 2890
  199. 2940  ROT= 0: HOME : PRINT "GRAFIK BESCHRIFTEN? (J/N)";: GOSUB 1210
  200. 2950  IF K$ = "J"  THEN 2970
  201. 2960  GOTO 3120
  202. 2970  HOME : PRINT "ZEICHENKETTE: (" CHR$(95) CHR$(92) CHR$(91)") ";: CALL 768,ST$
  203. 2980  PRINT : PRINT "VERTIKAL ODER HORIZONTAL? (V/H)";: GOSUB 1210: PRINT : IF K$ = "V"  THEN VH = 1
  204. 2990  PRINT : INPUT "X-POS: ";XP: VTAB  PEEK(37): HTAB 14: INPUT "Y-POS: ";YP
  205. 3000  GOSUB 3060
  206. 3010  PRINT : PRINT TD$;: GOSUB 1210: POKE  -16304,0: POKE  -16299,0: GOSUB 1210: POKE  -16303,0: POKE  -16300,0
  207. 3020  HOME : PRINT "IST DIE EINGABE OK? (J/N)";: GOSUB 1210: IF K$ = "N"  THEN 2730
  208. 3030  PRINT : PRINT : PRINT "WEITERE BESCHRIFTUNG? (J/N)";: GOSUB 1210: IF K$ = "J"  THEN 2970
  209. 3040  GOTO 3120
  210. 3050 F1 = 1: GOSUB 3060: GOTO 2970
  211. 3060  FOR I = 1 TO  LEN(ST$)
  212. 3070 C =  ASC( MID$ (ST$,I,1)) -32
  213. 3080  IF C = 0  THEN 3100
  214. 3090  DRAW C AT XP,YP
  215. 3100  IF   NOT VH  THEN XP = XP +7: NEXT : RETURN 
  216. 3110 YP = YP +8: NEXT :VH = 0: RETURN 
  217. 3120  HOME : PRINT "DRUCK:": PRINT 
  218. 3130  PRINT "EINFACHE GROESSE ......1": PRINT "DOPPELTE GROESSE ......2": PRINT : GOSUB 1210: IF K$ = "1"  THEN  PRINT R$D$"PR#1": PRINT  CHR$(9)"G2": PRINT D$"PR#0": RETURN 
  219. 3140  IF K$ = "2"  THEN  PRINT D$"PR#1": PRINT  CHR$(9)"GDR2": PRINT D$"PR#0": RETURN 
  220. 3150  HOME : GOTO 2900
  221. 3160 XN = A(MM,1):XX = XN
  222. 3170  FOR NN = 2 TO W
  223. 3180  IF A(MM,NN) <XN  THEN XN = A(MM,NN)
  224. 3190  IF A(MM,NN) >XX  THEN XX = A(MM,NN)
  225. 3200  NEXT : RETURN 
  226. 3210  REM <CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J>
  227. 3220  HOME : INVERSE : PRINT "LINEARE REGRESSION                      ": NORMAL : PRINT : PRINT : POKE 34,3
  228. 3230 S1 = 0:S2 = 0:S3 = 0:S4 = 0:S5 = 0:NN = 0
  229. 3240  PRINT AB$;: INPUT " ";M1
  230. 3250  PRINT OD$;: INPUT " ";M2: PRINT 
  231. 3260  PRINT "SOLLEN WERTEPAARE UNBERUECKSICHTIGT": PRINT "BLEIBEN? (J/N) ";
  232. 3270  GOSUB 1210
  233. 3280  IF K$ = "J"  THEN  GOSUB 3580
  234. 3290 WN = W -NN
  235. 3300  HOME : VTAB 12: HTAB 14: PRINT "ICH RECHNE!"
  236. 3310  FOR I = 1 TO W:F1 = 0
  237. 3320  IF NN >0  THEN  GOSUB 3600
  238. 3330  IF F1 = 1  THEN 3390
  239. 3340 S1 = S1 +A(M1,I)
  240. 3350 S2 = S2 +A(M2,I)
  241. 3360 S3 = S3 +A(M1,I) *A(M1,I)
  242. 3370 S4 = S4 +A(M2,I) *A(M2,I)
  243. 3380 S5 = S5 +A(M1,I) *A(M2,I)
  244. 3390  NEXT 
  245. 3400 D0 = WN *S3 -S1 *S1
  246. 3410 DA = S3 *S2 -S1 *S5
  247. 3420 DB = WN *S5 -S1 *S2
  248. 3430 A = DA/D0:B = DB/D0
  249. 3440 DQ = S4 -A *S2 -B *S5
  250. 3450 SM =  SQR(DQ/(WN -2))
  251. 3460 SA =  SQR(S3/D0) *SM
  252. 3470 SB =  SQR(WN/D0) *SM
  253. 3480 SC = (S5 -S1 *S2/WN)/ SQR((S3 -S1 *S1/WN) *(S4 -S2 *S2/WN))
  254. 3490  HOME 
  255. 3500  PRINT : PRINT AB$ SPC( 3)M1
  256. 3510  PRINT OD$ SPC( 3)M2: PRINT 
  257. 3520  PRINT : PRINT "STEIGUNG...............:"B: PRINT 
  258. 3530  PRINT "Y-ACHSENABSCHNITT......:"A
  259. 3540  PRINT : PRINT "STANDARDABWEICHUNG": PRINT "DER STEIGUNG...........:"SB: PRINT 
  260. 3550  PRINT "STANDARDABWEICHUNG DES": PRINT "Y-ACHSENABSCHNITTS.....:"SA: PRINT 
  261. 3560  PRINT "KORRELATIONSKOEFFIZIENT:"SC
  262. 3570  VTAB 23: GOSUB 1210: GOTO 3630
  263. 3580  PRINT : PRINT : INPUT "WIEVIELE WERTEPAARE? ";NN: PRINT 
  264. 3590  FOR J = 1 TO NN:WN = W -NN: INPUT "DAS WIEVIELTE WERTEPAAR? ";Z(J): NEXT : RETURN 
  265. 3600  FOR L = 1 TO NN
  266. 3610  IF I = Z(L)  THEN F1 = 1
  267. 3620  NEXT : RETURN 
  268. 3630  GOSUB 1210: GOTO 5260
  269. 3640  REM <CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J>
  270. 3650  HOME : INVERSE : PRINT "DISKETTENOPERATIONEN                    ": NORMAL : PRINT : POKE 34,3
  271. 3660  VTAB 24: PRINT TD$;: FLASH : PRINT " ";: NORMAL : POKE 35,23: VTAB 4
  272. 3670  PRINT R$D$"CATALOG": POKE 35,24: VTAB 24: HTAB 16: GOSUB 1210: HOME 
  273. 3680  PRINT ZU$: PRINT : PRINT "2) SPEICHERN DES GESAMTBEREICHS": PRINT 
  274. 3690  PRINT "3) LADEN DES GESAMTBEREICHS"
  275. 3700  PRINT : GOSUB 1210
  276. 3710  ON  VAL(K$) GOTO 5260,3730,3900
  277. 3720  VTAB 9: GOTO 3700
  278. 3730  HOME : INPUT "WIEVIELE KOLONNEN (AB DER 1.) SPEICHERN?";WK
  279. 3740  PRINT : INPUT "NAME : TABELLE.";A$
  280. 3750 A$ = "TABELLE." +A$
  281. 3760  PRINT : PRINT "SPEICHERUNG MIT 'S' ";: GOSUB 1210: PRINT 
  282. 3770  IF K$ < >"S"  THEN  HOME : GOTO 3660
  283. 3780  PRINT D$"OPEN"A$
  284. 3790  PRINT D$"UNLOCK"A$
  285. 3800  PRINT D$"WRITE"A$
  286. 3810  PRINT W: PRINT WK
  287. 3820  FOR I = 1 TO WK
  288. 3830  PRINT B$(I)
  289. 3840  FOR J = 1 TO W
  290. 3850  PRINT A(I,J)
  291. 3860  NEXT : NEXT 
  292. 3870  PRINT D$"CLOSE"A$
  293. 3880  PRINT D$"LOCK"A$
  294. 3890  GOTO 5260
  295. 3900  HOME : INPUT "NAME: TABELLE.";A$
  296. 3910 A$ = "TABELLE." +A$: PRINT 
  297. 3920  FOR I = 1 TO  LEN(A$): POKE 800 +I, ASC( MID$ (A$,I,1)): POKE 800, LEN(A$): NEXT 
  298. 3930  PRINT "LADEN MIT 'L'";: GOSUB 1210: PRINT 
  299. 3940  IF K$ < >"L"  THEN  HOME : GOTO 3660
  300. 3950  CLEAR 
  301. 3960  FOR I = 1 TO  PEEK(800):A$ = A$ + CHR$( PEEK(800 +I)): NEXT 
  302. 3970 D$ =  CHR$(4): ONERR  GOTO 4090
  303. 3980  PRINT D$"OPEN "A$
  304. 3990  PRINT D$"READ "A$
  305. 4000  INPUT W: INPUT WK
  306. 4010 RE = 1: GOSUB 1070
  307. 4020  FOR I = 1 TO WK
  308. 4030  INPUT B$(I)
  309. 4040  FOR J = 1 TO W
  310. 4050  INPUT A(I,J)
  311. 4060  NEXT : NEXT 
  312. 4070  PRINT D$"CLOSE"A$
  313. 4080  TEXT : GOTO 1340
  314. 4090 : HOME : FLASH : VTAB 10: HTAB 10: PRINT "DATEI NICHT GEFUNDEN": NORMAL 
  315. 4100  PRINT D$"DELETE"A$
  316. 4110  FOR I = 1 TO 2000: NEXT :RE = 1: GOSUB 1070: GOTO 3900
  317. 4120  REM  <CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J>
  318. 4130  HOME : INVERSE : PRINT "KORREKTUREN                             ": NORMAL : PRINT : PRINT : POKE 34,3
  319. 4140  PRINT ZU$: PRINT 
  320. 4150  PRINT "2) AUSTAUSCH VON KOLONNEN": PRINT 
  321. 4160  PRINT "3) EINZELWERTKORREKTUR": PRINT 
  322. 4170  PRINT "4) KOLONNENNAMEN AENDERN"
  323. 4180  VTAB 13: GOSUB 1210
  324. 4190  ON  VAL(K$) GOTO 5260,4210,4270,4370
  325. 4200  GOTO 4180
  326. 4210  HOME : PRINT  TAB( 19)KN$;: INPUT "";M1: PRINT : PRINT : PRINT "AUSTAUSCHEN GEGEN "KN$;: INPUT "";M2
  327. 4220  FOR I = 1 TO W
  328. 4230 X0 = A(M1,I):A(M1,I) = A(M2,I):A(M2,I) = X0
  329. 4240  NEXT 
  330. 4250 A$ = B$(M1):B$(M1) = B$(M2):B$(M2) = A$
  331. 4260  TEXT : GOTO 1340
  332. 4270  HOME : PRINT "EINZELWERTKORREKTUR"
  333. 4280  PRINT : INPUT "IN WELCHER KOLONNE ";MM
  334. 4290  GOSUB 1580
  335. 4300  INPUT "DER WIEVIELTE WERT ";NN: VTAB 23: HTAB 27: PRINT A(MM,NN)
  336. 4310  INPUT "IST ZU ERSETZEN DURCH     ";X0
  337. 4320 A(MM,NN) = X0: GOSUB 1580
  338. 4330  PRINT "WEITERE WERTE? (J/N) ";
  339. 4340  GOSUB 1210
  340. 4350  IF K$ = "J"  THEN 4270
  341. 4360  HOME : GOTO 4140
  342. 4370  HOME : PRINT KN$;: INPUT "";MM: PRINT : PRINT "ALTER KOLONNENNAME "B$(MM)
  343. 4380  PRINT "NEUER ";:HT = 7: GOSUB 1270: HOME :HT = 1: GOTO 4140
  344. 4390  REM <CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J>
  345. 4400  HOME :WK = 0:F0 = 0:EX = 2.302585093
  346. 4410  VTAB 1: HTAB 18: INVERSE : PRINT "AUF DRUCKER": NORMAL : PRINT : PRINT 
  347. 4420  INPUT "WIEVIELE KOLONNEN ";WN
  348. 4430  IF WN >8  THEN 4400
  349. 4440  FOR I = 1 TO WN:Z(I) = 0:Z0(I) = 0:Z1(I) = 0: NEXT 
  350. 4450  PRINT 
  351. 4460  FOR I = 1 TO WN: PRINT I". "KN$;: INPUT "";Z(I): NEXT 
  352. 4470  PRINT : PRINT "SOLLEN WERTE GERUNDET WERDEN? (J/N) ";
  353. 4480  GOSUB 1210
  354. 4490  IF K$ = "J"  THEN F0 = 1: PRINT : GOSUB 4700
  355. 4500  PRINT : PRINT 
  356. 4510  FOR I = 1 TO 4: INPUT "TEXT ";T$(I): NEXT 
  357. 4520  PRINT D$"PR#1"
  358. 4530  PRINT  CHR$(27)"!" CHR$(33)
  359. 4540  PRINT  CHR$(9)"60N"
  360. 4550  FOR I = 1 TO 4: PRINT T$(I): NEXT 
  361. 4560  PRINT  CHR$(27)"!" CHR$(6);
  362. 4570 JO = WN *16: PRINT  CHR$(9)JO"N"
  363. 4580  FOR I = 1 TO WN: PRINT B$(Z(I)),: NEXT 
  364. 4590  FOR I = 1 TO JO: PRINT "-";: NEXT 
  365. 4600  FOR I = 1 TO W
  366. 4610  FOR J = 1 TO WN
  367. 4620  GOSUB 4760
  368. 4630  PRINT AA,
  369. 4640  NEXT :
  370. 4650  NEXT 
  371. 4660 T = JO -28:TS = 0: IF JO = 16  THEN T = 4:TS = 4
  372. 4670  PRINT : PRINT  TAB( T)"ERSTELLT AM " SPC( TS)DT$
  373. 4680  PRINT R$D$"PR#0"
  374. 4690  GOTO 5260
  375. 4700  PRINT : PRINT : INPUT "WIEVIELE KOLONNEN ";WK
  376. 4710  FOR I0 = 1 TO WK
  377. 4720  PRINT I0". "KN$;: INPUT "";Z0(I0)
  378. 4730  INPUT "   ANZAHL DER GUELTIGEN ZIFFERN ";Z1(I0)
  379. 4740  NEXT 
  380. 4750  RETURN 
  381. 4760 AA = A(Z(J),I)
  382. 4770  IF   NOT F0  THEN  RETURN 
  383. 4780  FOR I0 = 1 TO W: IF Z(J) = Z0(I0)  THEN 4790
  384. 4785  NEXT : RETURN 
  385. 4790  IF AA = 0  THEN  RETURN 
  386. 4800 AB =  INT( LOG(1/ ABS(AA))/EX):AG = 10 ^(AB +Z1(I0))
  387. 4810 AC =  INT(AA *AG +.5)
  388. 4820 AA = AC/AG: IF AB +Z1(I0) >0  THEN AA = AC/ INT(AG)
  389. 4830  RETURN 
  390. 4840  REM <CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J>
  391. 4850  HOME : INVERSE : PRINT "STATISTIK                               ": NORMAL : PRINT : PRINT : POKE 34,3: INPUT "WIEVIELE KOLONNEN? ";WK: PRINT 
  392. 4860 S1 = 0:S2 = 0
  393. 4870  FOR I = 1 TO WK: PRINT I". "KN$;: INPUT "";Z(I): NEXT 
  394. 4880  FOR I = 1 TO WK
  395. 4890  FOR J = 1 TO W:S1 = S1 +A(Z(I),J): NEXT 
  396. 4900 X0 = S1/W
  397. 4910  FOR J = 1 TO W:S2 = S2 +(X0 -A(Z(I),J)) ^2: NEXT 
  398. 4920 X1 = S2/(W -1)
  399. 4930 X2 =  SQR(X1)
  400. 4940 X3 =  SQR(X1/W)
  401. 4950 X4 = 100 *X3/X0
  402. 4960  HOME 
  403. 4970  PRINT : PRINT KN$Z(I) SPC( 7)B$(Z(I))
  404. 4980  PRINT : PRINT "MITTELWERT..........:"X0
  405. 4990  PRINT "VARIANZ.............:"X1
  406. 5000  PRINT "STANDARDABWEICHUNG..:"X2
  407. 5010  PRINT : PRINT "FUER P = 68.3 % IST:"
  408. 5020  PRINT : PRINT "MITTLERER FEHLER": PRINT "DES MITTELWERTS.....:"X3
  409. 5030  PRINT "PROZENTUALER": PRINT "FEHLER..............:" ABS(X4)" %"
  410. 5040 S1 = 0:S2 = 0
  411. 5050  GOSUB 1210
  412. 5060  NEXT 
  413. 5070  VTAB 23: GOSUB 1210: GOTO 5260
  414. 5080  REM <CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J>
  415. 5090  TEXT : HOME 
  416. 5100  PRINT R$D$"PR#0"
  417. 5110  VTAB 1: INVERSE : PRINT "FEHLERMELDUNGEN": NORMAL 
  418. 5120  PRINT : PRINT "DOS :": PRINT "  4 - DISK SCHREIBGESCHUETZT": PRINT "  8 - EVTL. DISK DEFEKT (I/O ERROR)": PRINT "  9 - DISK VOLL"
  419. 5130  PRINT : PRINT "APPLESOFT :"
  420. 5140  PRINT " 16 - FORMEL ENTSPRICHT NICHT DEM BASIC       DIALEKT"
  421. 5150  PRINT " 53 - NICHT ERLAUBTE GROESSE": PRINT " 69 - ZAHL ZU GROSS": PRINT "107 - FALSCHER INDEX": PRINT "133 - DIVISION DURCH NULL": PRINT "254 - INPUT NICHT BEANTWORTET"
  422. 5160  PRINT "255 - CTRL-C GEDRUECKT"
  423. 5170 TY =  PEEK(222):TZ =  PEEK(218) + PEEK(219) *256: PRINT BL$
  424. 5180  VTAB 23: PRINT "      FEHLER "TY" IN ZEILE "TZ" ";
  425. 5190  IF TY = 16  AND TZ = 2  THEN  POKE 2063,178
  426. 5200  VTAB 1: HTAB 20: PRINT "SPEICHERPLATZ: " FRE(0);
  427. 5210  CALL  -10621
  428. 5220  GOSUB 1210: GOTO 5260
  429. 5230  REM <CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J>
  430. 5240  VTAB 1: PRINT R$D$"PR#1": PRINT  CHR$(27)"!" CHR$(8): POKE 1152,160: PRINT  CHR$(9)"S": PRINT D$"PR#0": RETURN 
  431. 5250  REM <CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J>
  432. 5260  TEXT : HOME : INVERSE : HTAB 4: PRINT WW" KOLONNEN ZU "W" WERTEN MOEGLICH": NORMAL : PRINT : PRINT "1) EINGABE VON KOLONNEN": PRINT 
  433. 5270  PRINT "2) NAMENLISTE": PRINT 
  434. 5280  PRINT "3) KOLONNEN-LISTING": PRINT 
  435. 5290  PRINT "4) KOLONNENOPERATIONEN": PRINT 
  436. 5300  PRINT "5) GRAFISCHE AUFTRAGUNG": PRINT 
  437. 5310  PRINT "6) LINEARE REGRESSION": PRINT 
  438. 5320  PRINT "7) DISKETTENOPERATIONEN": PRINT 
  439. 5330  PRINT "8) KORREKTUREN": PRINT 
  440. 5340  PRINT "9) STATISTIK"
  441. 5350  PRINT : PRINT "N) WERTE LOESCHEN - NEUE EINGABE"
  442. 5360  PRINT : PRINT "E) PROGRAMM VERLASSEN": VTAB 1: HTAB 1
  443. 5370  GOSUB 1210
  444. 5380  IF K$ = "N"  THEN  GOSUB 5430: IF K$ = "J"  THEN  RUN 
  445. 5390  IF K$ = "E"  THEN  GOSUB 5430: IF K$ = "J"  THEN  END 
  446. 5400  ON  VAL(K$) GOTO 1230,1340,1430,1660,2610,3220,3650,4130,4850
  447. 5410  VTAB 1: GOTO 5370
  448. 5420  REM <CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J>
  449. 5430  TEXT : HOME : PRINT "BESTAETIGUNG (J/N) ";: GOSUB 1210: IF K$ < >"J"  THEN  POP : GOTO 5260
  450. 5440  RETURN 
  451. 5450  REM <CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J>
  452. 5460  HOME : INVERSE : PRINT "EINGABEVORSCHRIFT": NORMAL 
  453. 5470  PRINT : PRINT "KOLONNENNUMMER IN    < >": PRINT "OPERATIONEN DURCH    ' '    TRENNEN": PRINT "ALLE ZAHLEN MIT       #     BEZEICHNEN"
  454. 5480  PRINT : INVERSE : PRINT "BSP.:": NORMAL : PRINT : PRINT "<1> = <2> + SIN ( <3> - #2.34E - #10 )"
  455. 5490  PRINT : INVERSE : PRINT "BEDEUTET:": NORMAL : PRINT : PRINT "<K.NR.> = <K.NR.>+SIN(<K.NR.>-2.34E-10)": PRINT 
  456. 5500  GOSUB 1210: GOTO 2120
  457. 5510  REM <CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J>
  458. 5520  HOME : INVERSE : PRINT "KONSTANTEN": NORMAL 
  459. 5530  VTAB 6: PRINT "GRAVITATIONSKONSTANTE ..... G": PRINT "GASKONSTANTE .............. R": PRINT "BOLTZMANN-KONSTANTE ....... K": PRINT "AVOGADROKONSTANTE ......... NL": PRINT "ELEMENTARLADUNG ........... EL"
  460. 5540  PRINT "ELEKTRISCHE FELDKONSTANTE . E0"
  461. 5550  PRINT "MAGNETISCHE FELDKONSTANTE . U0": PRINT "FARADAY-KONSTANTE ......... F": PRINT "PLANCK-KONSTANTE .......... H": PRINT "EXP(1)  (2.718281) ........ E": PRINT "PI      (3.141592) ........ P": PRINT "RAD --> DEG ............... UP"
  462. 5560  GOSUB 1210: GOTO 1670
  463. 5570  REM <CTRL-J><CTRL-J><CTRL-J><CTRL-J><CTRL-J>
  464. 5580  TEXT : HOME 
  465. 5590  PRINT  CHR$(4)"BLOADMESSWERT.TITEL"
  466. 5600  VTAB 10: HTAB 19: GET A$: PRINT  VAL(A$);: GET B$:W =  VAL(A$ +B$): IF  ASC(B$) >47  AND  ASC(B$) <58  THEN  PRINT B$
  467. 5610  RETURN 
  468. 65535  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-J><CTRL-J><CTRL-J>VOLKER HERRMANN  MAI 1985<CTRL-J><CTRL-J><CTRL-J><CTRL-J>